An object management system can be defined as a system used to manage objects which are to be accessed, viewed, or edited in a multi-user environment. An object, in this context, can be defined as any file which is created, edited, or viewed by a user. Objects include file formats such as text, graphics, binary, audio, etc. A first user creates the original file, and subsequently, multiple users view or edit the file. In the past, it has been difficult to manage large numbers of documents that are simultaneously being edited by various users and always retrieve the most accurate or recent version of the document. If two users have the right to edit the same document and both transfer the document to their front end editing applications, work on it simultaneously, and then transfer different versions of the document back into the storage system, one of the users will overwrite the changes of the other. The present invention utilizes versioning processes and a check-in/-out mechanism to prevent this scenario from arising.
Furthermore, in the past new versions of documents usually create problems for sources that refer to them. A source document contains a reference, or link, to a target document. When a source refers to a particular target, and the target has been modified in a newer version of the target, the source would ideally now refer to the newest version of the target. The reference somehow has to be changed to point to the new version. If there are multiple references to the older version of the document, all references must be modified. The links do not necessarily have to be in source documents in the traditional sense, but can also be in any type of object, particularly business objects.
This problem is evident in hypertext documents in document publishing on the World Wide Web. Documents on the Web are written in Hypertext Markup Language. It is common for a hypertext document to contain links, known as hyperlinks, to other hypertext documents. When the source hypertext document contains a hyperlink to a target hypertext document, that hyperlink has to be modified if a new version of the target hypertext document has been created. If the target hypertext document has been moved to another location in the storage system, the hyperlink must again be modified.
This problem has been resolved in the past by simply allowing the new version of the target document to assume the identity of the original target document, such that the references would not have to be changed. However, this approach has problems. For example, if a French source document refers to an English target document before a French version of the target document became available, when a French version does become available, it simply cannot be allowed to overwrite the English version of the target document because there may be other English source documents that are referring to the English version of the target document.
It is desirable to be able to create new version of documents while maintaining the original version. Often, the modification or editing of a version of a document is not necessarily a correction, implying an overwrite of the original document. For example, new versions may simply be changes in terms of format, language, etc.